Conversation
✅ Deploy Preview for jumpstarter-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
WalkthroughThe pytest workflow was updated to run tests on both Ubuntu 24.04 and macOS 15 by introducing a matrix for operating systems. The Qemu installation step was split into OS-specific commands to run only on Linux or macOS accordingly. The TFTP test client was fixed to connect to the server's actual port instead of port 0. The QEMU driver was modified to conditionally include vsock-related devices and networks only on Linux platforms. Changes
Poem
Tip ⚡️ Faster reviews with caching
Enjoy the performance boost—your workflow just got faster. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
⏰ Context from checks skipped due to timeout of 90000ms (10)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/pytest.yaml (1)
15-15: Use a clear matrix key name for OS selection
Defining your matrix variable asruns-onworks, but it can be confusing sinceruns-onis also a workflow keyword. Renaming it to something likeosimproves readability and separates data from DSL.Apply this diff:
strategy: matrix: - runs-on: [ubuntu-24.04, macos-15] + os: [ubuntu-24.04, macos-15] python-version: ["3.11", "3.12", "3.13"] ... -runs-on: ${{ matrix.runs-on }} +runs-on: ${{ matrix.os }}
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/pytest.yaml(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-devspace .devfile/Containerfile.client)
- GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-utils Dockerfile.utils)
🔇 Additional comments (2)
.github/workflows/pytest.yaml (2)
34-35: Conditional QEMU installation is correctly scoped
Theif: runner.os == 'Linux'guard properly prevents Linux-only QEMU setup from running on macOS, avoiding permission or package-manager errors.
18-18:Details
✅ Verification successful
Verify availability of specified runner labels
GitHub Actions periodically adds/removes virtual environments. Please confirm thatubuntu-24.04andmacos-15are valid runner labels in your org. If not, consider using the maintained aliasesubuntu-latest/macos-latestto avoid CI failures.
🌐 Web query:
Do GitHub Actions runners support `ubuntu-24.04` and `macos-15` as selection labels?💡 Result:
Support for
ubuntu-24.04andmacos-15Runner Labels in GitHub ActionsUbuntu 24.04 Support
- GitHub Actions now supports
ubuntu-24.04as a runner label for GitHub-hosted runners.- As of May 14, 2024, the Ubuntu 24.04 image entered public beta and can be explicitly selected in workflow YAML files using:
runs-on: ubuntu-24.04- This enables you to test and migrate workflows to the new LTS version before the default
ubuntu-latestlabel is updated to point to Ubuntu 24.04, which is scheduled to occur in late 2024 into early 2025[6][7][9].macOS 15 Support
- GitHub Actions supports
macos-15as a runner label for GitHub-hosted runners.- macOS 15 (Sequoia) became generally available as an image label for all GitHub Actions users in April 2025. You can select it in your workflow using:
runs-on: macos-15- Both Apple Silicon and Intel variants exist, with label options like
macos-15andmacos-15-xlarge[7][10].Summary Table
Runner Label Supported? Notes ubuntu-24.04 Yes Public beta since May 2024, will become default for ubuntu-latestin 2024–2025[6][7][9].macos-15 Yes Generally available since April 2025; use macos-15in workflow YAML[7][10].You can safely use both
ubuntu-24.04andmacos-15in your GitHub Actions workflows to target the latest OS images on GitHub-hosted runners.Citations:
- 1: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners
- 2: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners
- 3: https://docs.github.com/enterprise-cloud@latest/actions/using-jobs/choosing-the-runner-for-a-job
- 4: https://github.com/orgs/community/discussions/135911
- 5: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-action-runners-update-labels.html
- 6: https://github.blog/changelog/2024-05-14-github-hosted-runners-public-beta-of-ubuntu-24-04-is-now-available/
- 7: https://github.com/actions/runner-images
- 8: https://docs.github.com/en/enterprise-server@3.12/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners
- 9: https://dev.to/siddhantkcode/critical-changes-coming-to-github-actions-ubuntu-24-migration-guide-oo8
- 10: actions/runner-images#11486
GitHub Actions runner labels are valid
Bothubuntu-24.04andmacos-15are supported on GitHub-hosted runners (Ubuntu 24.04 in public beta since May 2024 and macOS 15 generally available since April 2025). No changes needed.
9befbb5 to
f0c8228
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
packages/jumpstarter-driver-qemu/jumpstarter_driver_qemu/driver.py (1)
30-32: Add a docstring to explain vsock availabilityThis helper function correctly checks if the platform is Linux, but it would benefit from a docstring explaining what vsock is and why it's only available on Linux platforms.
def _vsock_available(): + """ + Check if vsock functionality is available. + + vsock (Virtual Socket) is a Linux-specific socket family that allows communication + between virtual machines and the host. It is only available on Linux platforms. + """ return platform.system() == "Linux"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/pytest.yaml(3 hunks)packages/jumpstarter-driver-qemu/jumpstarter_driver_qemu/driver.py(3 hunks)packages/jumpstarter-driver-tftp/jumpstarter_driver_tftp/server_test.py(8 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- .github/workflows/pytest.yaml
- packages/jumpstarter-driver-tftp/jumpstarter_driver_tftp/server_test.py
🧰 Additional context used
🧬 Code Graph Analysis (1)
packages/jumpstarter-driver-qemu/jumpstarter_driver_qemu/driver.py (1)
packages/jumpstarter-driver-network/jumpstarter_driver_network/driver.py (1)
VsockNetwork(114-147)
⏰ Context from checks skipped due to timeout of 90000ms (5)
- GitHub Check: pytest-matrix (macos-15, 3.13)
- GitHub Check: pytest-matrix (macos-15, 3.12)
- GitHub Check: pytest-matrix (macos-15, 3.11)
- GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-utils Dockerfile.utils)
- GitHub Check: build-and-push-image (jumpstarter-dev/jumpstarter-devspace .devfile/Containerfile.client)
🔇 Additional comments (1)
packages/jumpstarter-driver-qemu/jumpstarter_driver_qemu/driver.py (1)
135-137: LGTM: Correctly handles vsock device conditionallyThe code now properly checks if vsock is available before adding the vhost-vsock-pci device. This is necessary for cross-platform compatibility.
Summary by CodeRabbit